home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Personal Computer World 2009 February
/
PCWFEB09.iso
/
Software
/
Linux
/
Kubuntu 8.10
/
kubuntu-8.10-desktop-i386.iso
/
casper
/
filesystem.squashfs
/
etc
/
init.d
/
udev
< prev
next >
Wrap
Text File
|
2008-10-24
|
2KB
|
108 lines
#!/bin/sh -e
# init script for udev
# Check the package is still installed
[ -x /sbin/udevd ] || exit 0
# Get LSB functions
. /lib/lsb/init-functions
. /etc/default/rcS
case "$1" in
start)
# We need the uevent support introduced in 2.6.15, bail out if we
# don't have it and fall back to a static /dev
if [ ! -f /sys/class/mem/null/uevent ]; then
if mountpoint -q /dev; then
# uh-oh, initramfs made some kind of /dev, get rid of it
umount -l /dev/.static/dev
umount -l /dev
fi
exit 1
fi
if ! mountpoint -q /dev; then
# initramfs didn't mount /dev, so we'll need to do that
mount -n --bind /dev /etc/udev
mount -n -t tmpfs -o mode=0755 udev /dev
mkdir -m 0700 -p /dev/.static/dev
mount -n --move /etc/udev /dev/.static/dev
fi
# Copy over default device tree
cp -a -f /lib/udev/devices/* /dev
# It's all over netlink now
if [ -e /proc/sys/kernel/hotplug ]; then
echo "" > /proc/sys/kernel/hotplug
fi
# Start udevd
log_begin_msg "Starting kernel event manager..."
if start-stop-daemon --start --quiet --exec /sbin/udevd -- --daemon; then
log_end_msg 0
else
log_end_msg $?
fi
# This next bit can take a while
if type usplash_write >/dev/null 2>&1; then
usplash_write "TIMEOUT 360" ||:
trap "usplash_write 'TIMEOUT 15' ||:" 0
fi
# Log things that trigger does
/sbin/udevadm monitor -e >/dev/.udev.log &
UDEV_MONITOR_PID=$!
# Fix permissions and missing symlinks/programs for devices made in
# initramfs, and catch up on everything we missed
log_begin_msg "Loading hardware drivers..."
/sbin/udevadm trigger
if /sbin/udevadm settle; then
log_end_msg 0
else
log_end_msg $?
fi
# Kill the udev monitor again
kill $UDEV_MONITOR_PID
;;
stop)
log_begin_msg "Stopping kernel event manager..."
if start-stop-daemon --stop --quiet --oknodo --exec /sbin/udevd; then
log_end_msg 0
else
log_end_msg $?
fi
umount -l /dev/.static/dev
umount -l /dev
;;
restart)
cp -au /lib/udev/devices/* /dev
log_begin_msg "Loading additional hardware drivers..."
/sbin/udevadm trigger
if /sbin/udevadm settle; then
log_end_msg 0
else
log_end_msg $?
fi
;;
reload|force-reload)
log_begin_msg "Reloading kernel event manager..."
if start-stop-daemon --stop --signal 1 --exec /sbin/udevd; then
log_end_msg 0
else
log_end_msg $?
fi
;;
*)
echo "Usage: /etc/init.d/udev {start|stop|restart|reload|force-reload}"
exit 1
;;
esac
exit 0